People use various devices to manage different kinds of information. For example, a person may use a desktop computer at his or her office to send and receive emails, manage a calendar, maintain personal and business contacts, and process various electronic documents and files. The person may also use a laptop computer while traveling to manage the same kinds of information. The person may also carry a personal digital assistant (PDA) to maintain a portable calendar. The person may also carry a cell phone or a smartphone to send and receive cellular calls. In some cases, the cell phone or smartphone includes PDA functionality and also provides access to office emails, calendar items and contact information. In such cases, the person may also use with the cell phone or smartphone an accessory I/O device that has a larger screen and keypad to more efficiently input data into or display data from the cell phone or smartphone.
To be most useful, each of the information-managing devices a person employs should provide access to the same version of information. To enable access to the same version of information from different devices, information can be synchronized between the different devices. For example, emails on a desktop computer can be synchronized with emails on a smartphone so that a person can read or respond to the same emails from either the desktop computer or the smartphone. As another example, calendar items on a PDA can be synchronized with calendar items on the desktop computer so that a user can determine his or her appointments and meetings by consulting either the desktop computer or the PDA.
Frequently, synchronization is managed with respect to a central repository. For example, the desktop computer at a person's office may connect to an enterprise server that maintains a central copy of emails and calendar items. To synchronize calendar items between the desktop computer and the PDA, the PDA may connect to the enterprise server. Similarly, to synchronize emails between the desktop computer and a smartphone, the smartphone may connect to the enterprise server. In such implementations, synchronization may only be possible when the central repository is accessible to the device whose data is being synchronized.